package com.googlecode.wmlynar.gwtbeans.gen;

import java.util.Date;

import com.googlecode.wmlynar.gwtbeans.client.beans.AbstractBean;

/**
 * 
 * @author Wojciech Mlynarczyk (wmlynar@gmail.com)
 * 
 */
public class Bean6 extends AbstractBean {

    private Bean4 bean1;
    private Bean4 bean2;

    // has to be set as immutable because has infinite recursion
    private Bean1 bean3;

    // test system class
    private Date date;

    public void setBean1(final Bean4 bean1) {
        support.firePropertyChange("bean1", this.bean1, this.bean1 = bean1);
    }

    public Bean4 getBean1() {
        return bean1;
    }

    public void setBean2(final Bean4 bean2) {
        support.firePropertyChange("bean2", this.bean2, this.bean2 = bean2);
    }

    public Bean4 getBean2() {
        return bean2;
    }

    public void setDate(final Date date) {
        support.firePropertyChange("date", this.date, this.date = date);
    }

    public Date getDate() {
        return date;
    }

    public void setBean3(final Bean1 bean3) {
        support.firePropertyChange("bean3", this.bean3, this.bean3 = bean3);
    }

    public Bean1 getBean3() {
        return bean3;
    }
}
